"""合并两个.txt文件的内容，两个文件的多行内容交替写入结果文件，如果一个文件内容较少，则把另一个文件的剩余内容写入结果文件尾部。"""

def mergeTxt(txtFiles):
    # 将合并结果写入结果文档
    with open(r'resources\workResult.txt', 'w', encoding='utf-8') as f:
        with open(txtFiles[0], 'r', encoding='utf-8') as f1, open(txtFiles[1], 'r', encoding='utf-8') as f2:
            while True:  # 交替读取文件1和文件2中的行，写入结果文件
                f1_line = f1.readline()
                # 如果读取到的行不为空，则写入结果文档
                if f1_line:
                    f.write(f1_line)
                else:
                    # 如果文件1结束，结束循环
                    flag = False
                    break
                f2_line = f2.readline()
                # 如果读取到的行不为空，则写入结果文档
                if f2_line:
                    f.write(f2_line)
                else:
                    # 如果文件2结束，结束循环
                    flag = True
                    break
            # 获取尚未结束的文件对象f3
            f3 = f1 if flag else f2
            # 把剩余内容写入结果文件
            for line in f3:
                f.write(line)
        print('已成功合并两个.txt文件的内容，并交替写入结果文件！')


if __name__ == "__main__":
    txtFiles = [r'resources\1.txt', r'resources\2.txt']
    mergeTxt(txtFiles)
    # 读取结果文档中的所有行
    f = open(r'resources\workResult.txt', 'r', encoding='utf-8')
    file_list = f.readlines()
    print(file_list)

